package core.logic.services;

import core.logic.dataAccess.AdresDAO;
import core.logic.dataAccess.PassagierDAO;
import core.logic.dataAccess.PersoonDAO;
import core.models.dataModels.BoardingSecurityCheckModel;
import core.models.domainModel.Adres;
import core.models.domainModel.Passagier;
import core.models.domainModel.Persoon;

public class BoardingSecurityCheckService
{	
	
	public static BoardingSecurityCheckModel getNieuwModel()
	{
		BoardingSecurityCheckModel model;
		model = new BoardingSecurityCheckModel();		
		return model;
	}

	//Ophalen van Persoon via Identiteitskaart Nummer
	//Ophalen van adresgegevens
	//Lieven Drijkoningen C1017178
	public static BoardingSecurityCheckModel getPersoonByIdNr(BoardingSecurityCheckModel model)
	{	
		//Opvullen passagiersgegevens van model met een persoonsid via identiteitskaartnummer
		Passagier p = model.getPassagier();
		p = PassagierDAO.getPersoonByPaspoortNr(p);
		model.setPassagier(p);
		//Opvullen van persoongegevens via persoonid
		Persoon pe = model.getPassagier().getPersoon();
		pe = PersoonDAO.getPersoonAdres(pe);
		model.getPassagier().setPersoon(pe);
		//Opvullen van adresgegevens van deze persoon 
		Adres a = model.getPassagier().getPersoon().getAdres();
		a = AdresDAO.getAdresByAdresId(a.get_adresId());
		model.getPassagier().getPersoon().setAdres(a);
		return model;		
	}
	
	public static BoardingSecurityCheckModel getGeboekteVluchtenPassagier(BoardingSecurityCheckModel model)
	{
		model.setBoekingen(PassagierDAO.getBoekingen(model.getPassagier().getPaspoortNr()));
		return model;
	}
	
	public static void updatePassagierStatus(BoardingSecurityCheckModel model)
	{
		PassagierDAO.updatePassagierSecurity(model.getPassagier().getPassagierId());
	}
}
